1200
Is it possible to display the task bars with a gradient color

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/31/2009';
		LevelCount := 2;
		PaneWidth[False] := 96;
		Bars.Copy('Task','TaskO');
		with Bars.Item['Task'] do
		begin
			Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
			StartColor := $ffffff;
			EndColor := Color;
		end;
	end;
	Columns.Add('Types');
	with Items do
	begin
		AddBar(AddItem('Original'),'TaskO','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Pattern Gradient'),'Task','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Original'),'TaskO','1/4/2010','1/9/2010','',Nil);
	end;
	EndUpdate();
end
1199
How can I know the type of bars I can displays using predefined patterns

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/31/2009';
		LevelCount := 2;
		PaneWidth[False] := 96;
		with Bars do
		begin
			Add('Box').Pattern := EXG2ANTTLib.PatternEnum.exPatternBox;
			Add('ThickBox').Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
			Add('DiagBox').Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBDiagonal);
			Copy('Task','Shadow').Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternFrameShadow) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
			Copy('Task','TShadow').Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternFrameShadow) Or Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternDiagCross);
			with Add('HGrad1') do
			begin
				Pattern := EXG2ANTTLib.PatternEnum.exPatternBox;
				StartColor := $ffffff;
				EndColor := $ff0000;
			end;
			with Add('HGrad2') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
				StartColor := $ffffff;
				EndColor := $ff0000;
				Color := $ff0000;
			end;
			with Add('HGrad3') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
				StartColor := $ffffff;
				EndColor := StartColor;
				Color := $ff0000;
			end;
			with Add('HGrad4') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
				StartColor := $ffffff;
				EndColor := StartColor;
				Color := $ff0000;
			end;
			with Add('HGrad5') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternFrameShadow) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
				StartColor := $ff00;
				EndColor := $ff;
				Color := $ff0000;
			end;
			with Add('VGrad1') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
				StartColor := $ffffff;
				EndColor := $ff0000;
				Height := 14;
			end;
			with Add('VGrad2') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
				StartColor := $ffffff;
				EndColor := $ff0000;
				Color := $ff0000;
				Height := 14;
			end;
			with Add('VGrad3') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
				StartColor := $ffffff;
				EndColor := StartColor;
				Color := $ff0000;
				Height := 14;
			end;
			with Add('VGrad4') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
				StartColor := $ffffff;
				EndColor := StartColor;
				Color := $ff0000;
				Height := -1;
			end;
			with Add('VGrad5') do
			begin
				Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternFrameShadow) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
				StartColor := $ff00;
				EndColor := $ff;
				Color := $ff0000;
				Height := 14;
			end;
		end;
	end;
	Columns.Add('Types');
	with Items do
	begin
		AddBar(AddItem('Box'),'Box','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Thick Box'),'ThickBox','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Thick Box Diag'),'DiagBox','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Shadow'),'Shadow','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Thick Shadow'),'TShadow','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Solid Gradient'),'HGrad1','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Pattern Gradient'),'HGrad2','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Pattern Gradient 3 Colors'),'HGrad3','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Solid Gradient 3 Colors'),'HGrad4','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Gradient Shadow'),'HGrad5','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Solid Gradient'),'VGrad1','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Pattern Gradient'),'VGrad2','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Pattern Gradient 3 Colors'),'VGrad3','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Solid Gradient 3 Colors'),'VGrad4','1/4/2010','1/9/2010','',Nil);
		AddBar(AddItem('Gradient Shadow'),'VGrad5','1/4/2010','1/9/2010','',Nil);
	end;
	EndUpdate();
end
1198
Is it possible to display the bars with a thicker border

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.PaneWidth[False] := 48;
	Chart.Bars.Copy('Task','TaskB').Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternThickBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 2'),'TaskB','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 3'),'Task','1/2/2001','1/5/2001','',Nil);
	end;
	EndUpdate();
end
1197
Is it possible to display the shadow for EBN bars

with AxG2antt1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.PaneWidth[False] := 48;
	with Chart.Bars.Copy('Task','EBN') do
	begin
		Color := $1000000;
		Pattern := EXG2ANTTLib.PatternEnum.exPatternFrameShadow;
	end;
	Chart.Bars.Copy('Task','EBN2').Color := $1000000;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'EBN2','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 2'),'EBN','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 3'),'EBN2','1/2/2001','1/5/2001','',Nil);
	end;
	EndUpdate();
end
1196
Can I display a shadow for my bars

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.PaneWidth[False] := 48;
	Chart.Bars.Item['Task'].Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternFrameShadow) Or Integer(EXG2ANTTLib.PatternEnum.exPatternShadow);
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 2'),'Task','1/2/2001','1/5/2001','',Nil);
	end;
	EndUpdate();
end
1195
How can I use the Color property for gradient bars

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.PaneWidth[False] := 48;
	with Chart.Bars.Add('V') do
	begin
		Color := $ff;
		StartColor := $ff00;
		EndColor := StartColor;
		Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
		Height := -1;
	end;
	with Chart.Bars.Add('H') do
	begin
		Color := $ff;
		StartColor := $ff00;
		EndColor := StartColor;
		Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradient3Colors) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'V','1/2/2001','1/5/2001','',Nil);
		AddBar(AddItem('Task 2'),'H','1/2/2001','1/5/2001','',Nil);
	end;
	EndUpdate();
end
1194
Is there any option to show bars with vertical gradient

with AxG2antt1 do
begin
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	with Chart.Bars.Item['Task'] do
	begin
		Color := $ff;
		StartColor := $ff00;
		EndColor := $ffff;
		Pattern := Integer(EXG2ANTTLib.PatternEnum.exPatternGradientVBox) Or Integer(EXG2ANTTLib.PatternEnum.exPatternBox);
	end;
	with Items do
	begin
		h := AddItem('Task');
		AddBar(h,'Task','1/2/2001','1/5/2001','',Nil);
	end;
end
1193
How can I define a new milestone bar

with AxG2antt1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	Chart.FirstVisibleDate := '1/1/2001';
	with Chart.Bars do
	begin
		AddShapeCorner(TObject(12345),TObject(1));
		AddShapeCorner(TObject(12346),TObject(2));
		Copy('Milestone','M1').StartShape := EXG2ANTTLib.ShapeCornerEnum($3020 Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconVBar) Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconRight));
		Copy('Milestone','M2').StartShape := EXG2ANTTLib.ShapeCornerEnum($3020 Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconSquare) Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconRight));
		with Copy('Milestone','MP') do
		begin
			StartShape := EXG2ANTTLib.ShapeCornerEnum.exShapeIconStar;
			StartColor := $ff;
		end;
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Default'),'Milestone','1/2/2001','1/2/2001',Nil,Nil);
		AddBar(AddItem('Predefined'),'MP','1/3/2001','1/3/2001',Nil,Nil);
		AddBar(AddItem('Custom 1'),'M1','1/4/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Custom 2'),'M2','1/5/2001','1/5/2001',Nil,Nil);
	end;
	EndUpdate();
end
1192
How can I define my milestone bar, using my icons or pictures
with AxG2antt1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	Chart.FirstVisibleDate := '1/1/2001';
	with Chart.Bars do
	begin
		AddShapeCorner(TObject(12345),TObject(1));
		Item['Milestone'].StartShape := EXG2ANTTLib.ShapeCornerEnum($3020 Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconVBar) Or Integer(EXG2ANTTLib.ShapeCornerEnum.exShapeIconRight));
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Milestone','1/2/2001','1/2/2001',Nil,Nil);
	end;
end
1191
Is it possible to specify manually non-working days instead using the NonworkingDays as being repetitive

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
		FirstVisibleDate := '1/1/2010';
		PaneWidth[False] := 0;
		LevelCount := 2;
		Level[0].DrawGridLines := True;
		ShowNonworkingUnits := False;
		ShowNonworkingDates := False;
		NonworkingDays := 0;
		AddNonworkingDate('1/10/2010');
		AddNonworkingDate('1/11/2010');
		AddNonworkingDate('1/15/2010');
		AddNonworkingDate('1/16/2010');
	end;
	EndUpdate();
end
1190
Is it possible to hide specific days

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
		FirstVisibleDate := '1/1/2010';
		PaneWidth[False] := 0;
		LevelCount := 2;
		Level[0].DrawGridLines := True;
		ShowNonworkingUnits := False;
		ShowNonworkingDates := False;
		NonworkingDays := 128;
		AddNonworkingDate('1/10/2010');
		AddNonworkingDate('1/11/2010');
		AddNonworkingDate('1/15/2010');
		AddNonworkingDate('1/16/2010');
	end;
	EndUpdate();
end
1189
Is it possible to show or display the marked zones ONLY in the overview part of the control

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '1/14/2001';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/3/2001','1/4/2001',TObject(BackColor),';;Zone <b>1</b>');
		MarkTimeZone('Z2','2/6/2001','2/7/2001',TObject(BackColor),';;Zone <b>2</b>');
		MarkTimeZone('Z3','1/16/2001','1/19/2001',TObject(BackColor),';;Zone <b>3</b>');
		OverviewShowMarkTimeZones := True;
		OverviewBackColor := $f0f0dc;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/5/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','2/5/2001','2/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1188
Is it possible to show or display the marked zones in the overview part of the control

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '1/14/2001';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/3/2001','1/4/2001',TObject(16777056),Nil);
		MarkTimeZone('Z2','2/6/2001','2/7/2001',TObject(16744544),Nil);
		MarkTimeZone('Z3','1/16/2001','1/19/2001',TObject(16744544),Nil);
		OverviewShowMarkTimeZones := True;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/5/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','2/5/2001','2/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1187
Is there a quick way to determine if a bar belongs to a group
with AxG2antt1 do
begin
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 64;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil);
		h3 := AddItem('Task 3');
		AddBar(h3,'Task','1/5/2001','1/7/2001','K3',Nil);
		GroupBars(h1,'K1',True,h2,'K2',True,Nil,Nil);
		GroupBars(h1,'K1',False,h2,'K2',False,Nil,Nil);
		GroupBars(h1,'K1',True,h3,'K3',True,Nil,Nil);
		GroupBars(h1,'K1',False,h3,'K3',False,Nil,Nil);
		OutputDebugString( ItemBar[h1,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarsGroup] );
	end;
end
1186
I am using the ScrollRange property to limit the chart's visible area, but it does not work as expected. What could be wrong
with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 56;
		ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exStartDate] := '1/1/100';
		ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exEndDate] := '12/31/9999';
		FirstVisibleDate := '4/28/2010';
	end;
	set_ScrollPartCaption(EXG2ANTTLib.ScrollBarEnum.exHChartScroll,EXG2ANTTLib.ScrollPartEnum.exLowerBackPart,Chart.ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exStartDate]);
	set_ScrollPartCaptionAlignment(EXG2ANTTLib.ScrollBarEnum.exHChartScroll,EXG2ANTTLib.ScrollPartEnum.exLowerBackPart,EXG2ANTTLib.AlignmentEnum.LeftAlignment);
	set_ScrollPartCaption(EXG2ANTTLib.ScrollBarEnum.exHChartScroll,EXG2ANTTLib.ScrollPartEnum.exUpperBackPart,Chart.ScrollRange[EXG2ANTTLib.ScrollRangeEnum.exEndDate]);
	set_ScrollPartCaptionAlignment(EXG2ANTTLib.ScrollBarEnum.exHChartScroll,EXG2ANTTLib.ScrollPartEnum.exUpperBackPart,EXG2ANTTLib.AlignmentEnum.RightAlignment);
	EndUpdate();
end
1185
Are you planning to add a AddNonworkingDate / AddNonworkingDay for separate items

with AxG2antt1 do
begin
	BeginUpdate();
	AllowChartScrollPage := True;
	Columns.Add('Non-Work');
	with Chart do
	begin
		FirstVisibleDate := '4/4/2009';
		PaneWidth[False] := 52;
		LevelCount := 2;
	end;
	with Items do
	begin
		AddItem('Default');
		ItemNonworkingUnits[AddItem('Test 1'),TObject(False)] := 'shortdate(value) in (#4/5/2009#,#4/6/2009#)';
		ItemNonworkingUnits[AddItem('Test 2'),TObject(False)] := 'shortdate(value) in (#4/6/2009#,#4/7/2009#)';
		ItemNonworkingUnits[AddItem('Test 3'),TObject(False)] := 'shortdate(value) in (#4/7/2009#,#4/9/2009#)';
		AddItem('Default');
	end;
	EndUpdate();
end
1184
How can I enlarge the EBN being applied to an object

with AxG2antt1 do
begin
	BeginUpdate();
	DefaultItemHeight := 32;
	with VisualAppearance do
	begin
		Add(2,'c:\exontrol\images\normal.ebn');
		Add(1,'CP:2 -3 -2 3 2');
	end;
	with Chart do
	begin
		FirstVisibleDate := '1/1/2002';
		SelBarColor := $1000000;
		PaneWidth[False] := 48;
	end;
	Columns.Add('Task');
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2002','1/4/2002','A',Nil);
		AddBar(h,'Task','1/6/2002','1/10/2002','B',Nil);
		AddBar(h,'Task','1/11/2002','1/14/2002','C',Nil);
		ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True);
		ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True);
	end;
	EndUpdate();
end
1183
I am using EBN to display my bars but the bars shows in black in the overview area. Is there any option to specify a different color in the overview part of the control

with AxG2antt1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Chart do
	begin
		Bars.Item['Task'].Color := $1000000;
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		FirstVisibleDate := '1/11/2001';
		LevelCount := 2;
	end;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/4/2001',TObject(1),Nil);
		ItemBar[h,TObject(1),EXG2ANTTLib.ItemBarPropertyEnum.exBarOverviewColor] := TObject(8821418);
		AddBar(h,'Task','2/2/2001','2/4/2001',TObject(2),Nil);
		ItemBar[h,TObject(2),EXG2ANTTLib.ItemBarPropertyEnum.exBarOverviewColor] := TObject(8821418);
		h := AddItem('Task 2');
		AddBar(h,'Task','2/2/2001','2/4/2001','',Nil);
		ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarOverviewColor] := TObject(8821418);
	end;
	EndUpdate();
end
1182
I haven't found options to localize (in Italian) the strings ( dates, tooltip ) that shows in the chart area

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 0;
		Label[EXG2ANTTLib.UnitEnum.exWeek] := '<|><%ww%><|><%d%> <%m3%> ''<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256';
		Label[EXG2ANTTLib.UnitEnum.exDay] := '<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> ''<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exWeek] := '<%d%> <%mmmm%> <%yyyy%> <%ww%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exDay] := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday;
		MonthNames := 'gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre';
		WeekDays := 'domenica lunedì martedì mercoledì giovedì venerdì sabato';
		ToolTip := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		UnitScale := EXG2ANTTLib.UnitEnum.exDay;
	end;
	EndUpdate();
end
1181
I haven't found options to localize (in Dutch) the strings ( dates, tooltip ) that shows in the chart area

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 0;
		Label[EXG2ANTTLib.UnitEnum.exWeek] := '<|><%ww%><|><%d%> <%m3%> ''<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256';
		Label[EXG2ANTTLib.UnitEnum.exDay] := '<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> ''<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exWeek] := '<%d%> <%mmmm%> <%yyyy%> <%ww%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exDay] := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday;
		MonthNames := 'januari februari maart april mei juni juli augusts september oktober november december';
		WeekDays := 'zondag maandag dinsdag woensdag donderdag vrijdag zaterdag';
		ToolTip := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		UnitScale := EXG2ANTTLib.UnitEnum.exDay;
	end;
	EndUpdate();
end
1180
I haven't found options to localize (in German) the strings ( dates, tooltip ) that shows in the chart area (method 1)

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 0;
		Label[EXG2ANTTLib.UnitEnum.exWeek] := '<|><%ww%><|><%d%> <%m3%> ''<%yy%><r><%ww%><|><%d%>.<%mmmm%> <%yyyy%><r><%ww%><||><||>256';
		Label[EXG2ANTTLib.UnitEnum.exDay] := '<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%>.<%m3%> ''<%yy%><|><%dddd%> <%d%>.<%mmmm%> <%yyyy%><||><||>4096';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exWeek] := '<%d%>.<%mmmm%> <%yyyy%> <%ww%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exDay] := '<%dddd%>, <%d%>.<%mmmm%> <%yyyy%>';
		FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday;
		MonthNames := 'Januar Februar März April Mai Juni Juli August September Oktober November Dezember';
		WeekDays := 'Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag';
		ToolTip := '<%dddd%>,<%d%>.<%mmmm%> <%yyyy%>';
		UnitScale := EXG2ANTTLib.UnitEnum.exDay;
	end;
	EndUpdate();
end
1179
I haven't found options to localize (in French) the strings ( dates, tooltip ) that shows in the chart area

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 0;
		Label[EXG2ANTTLib.UnitEnum.exWeek] := '<|><%ww%><|><%d%> <%m3%> ''<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256';
		Label[EXG2ANTTLib.UnitEnum.exDay] := '<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> ''<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exWeek] := '<%d%> <%mmmm%> <%yyyy%> <%ww%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exDay] := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday;
		MonthNames := 'janvier février mars avril mai juin juillet août septembre octobre novembre décembre';
		WeekDays := 'dimanche lundi mardi mercredi jeudi vendredi samedi';
		ToolTip := '<%dddd%> <%d%> <%mmmm%> <%yyyy%>';
		UnitScale := EXG2ANTTLib.UnitEnum.exDay;
	end;
	EndUpdate();
end
1178
How can I determine the last visible date in the chart
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( 'First' );
		OutputDebugString( Chart.FirstVisibleDate );
		OutputDebugString( 'Last' );
		OutputDebugString( Chart.DateFromPoint[1,-1] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 1;
	end;
	EndUpdate();
end
1177
How can I filter programatically using more columns
with AxG2antt1 do
begin
	BeginUpdate();
	Chart.PaneWidth[True] := 0;
	MarkSearchColumn := False;
	with Columns do
	begin
		Add('Car');
		Add('Equipment');
	end;
	with Items do
	begin
		CellValue[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag';
		CellValue[TObject(AddItem('Toyota')),TObject(1)] := 'Air Bag,Air condition';
		CellValue[TObject(AddItem('Ford')),TObject(1)] := 'Air condition';
		CellValue[TObject(AddItem('Nissan')),TObject(1)] := 'Air Bag,ABS,ESP';
		CellValue[TObject(AddItem('Mazda')),TObject(1)] := 'Air Bag, ABS,ESP';
		CellValue[TObject(AddItem('Mazda')),TObject(1)] := 'ABS,ESP';
	end;
	with Columns.Item['Car'] do
	begin
		FilterType := EXG2ANTTLib.FilterTypeEnum.exFilter;
		Filter := 'Mazda';
	end;
	with Columns.Item['Equipment'] do
	begin
		FilterType := EXG2ANTTLib.FilterTypeEnum.exPattern;
		Filter := '*ABS*|*ESP*';
	end;
	ApplyFilter();
	EndUpdate();
end
1176
Do you have scheduling functionality in Gantt (meaning scheduling several activities (bars) depending on their start and finish dates with considering dependencies to other activities
// BarResize event - Occurs when a bar is moved or resized.
procedure TWinForm1.AxG2antt1_BarResize(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizeEvent);
begin
	with AxG2antt1 do
	begin
		Items.SchedulePDM(e.item,TObject(e.key));
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Items.AllowCellValueToItemBar := True;
	Columns.Add('Task');
	(Columns.Add('Working') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellValueToItemBarProperty] := TObject(258);
	with Chart do
	begin
		Bars.Add('Task:Split').Shortcut := 'Task';
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 96;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/2/2001','1/4/2001','',Nil);
		AddLink('L1',h1,'',h2,'');
		h3 := AddItem('Task 3');
		AddBar(h3,'Task','1/2/2001','1/6/2001','',Nil);
		AddLink('L2',h2,'',h3,'');
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'FF';
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkStartPos] := TObject(2);
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkEndPos] := TObject(2);
		h4 := AddItem('Task 4');
		AddBar(h4,'Task','1/2/2001','1/4/2001','',Nil);
		AddLink('L3',h4,'',h3,'');
		ItemBar[0,'<*>',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True);
		SchedulePDM(FirstVisibleItem,'');
	end;
	EndUpdate();
end
1175
How can I show the ticks for a single slider field
with AxG2antt1 do
begin
	BeginUpdate();
	(Columns.Add('Slider') as EXG2ANTTLib.Column).Editor.EditType := EXG2ANTTLib.EditTypeEnum.SliderType;
	with Items do
	begin
		AddItem(TObject(10));
		with CellEditor[TObject(AddItem(TObject(20))),TObject(0)] do
		begin
			EditType := EXG2ANTTLib.EditTypeEnum.SliderType;
			Option[EXG2ANTTLib.EditorOptionEnum.exSliderTickFrequency] := TObject(10);
		end;
		AddItem(TObject(30));
	end;
	EndUpdate();
end
1174
Is it possible to show ticks for slider fields
with AxG2antt1 do
begin
	with (Columns.Add('Slider') as EXG2ANTTLib.Column).Editor do
	begin
		EditType := EXG2ANTTLib.EditTypeEnum.SliderType;
		Option[EXG2ANTTLib.EditorOptionEnum.exSliderTickFrequency] := TObject(10);
	end;
	Items.AddItem(TObject(10));
end
1173
How can I group two bars so the distance between them is limited to a specified range

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','9/21/2006','9/24/2006',Nil,Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Unknown','9/25/2006','9/28/2006',Nil,Nil);
		AddLink('L1',h1,'',h2,'');
		GroupBars(h1,'',False,h2,'',True,TObject(31),'1;2');
		OutputDebugString( 'The distance between A and B is limited between 1 and 3 days' );
		OutputDebugString( 'The B is always after the A' );
	end;
	EndUpdate();
end
1172
How can I group two bars so the distance between them is flexible but never less than a specified value

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','9/21/2006','9/24/2006',Nil,Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Unknown','9/26/2006','9/29/2006',Nil,Nil);
		AddLink('L1',h1,'',h2,'');
		GroupBars(h1,'',False,h2,'',True,TObject(39),'2');
		OutputDebugString( 'The distance between A and B is never less than 2 days' );
		OutputDebugString( 'The B is always after the A' );
	end;
	EndUpdate();
end
1171
How can I group two bars so the distance between them is flexible

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','9/21/2006','9/24/2006',Nil,Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Unknown','9/26/2006','9/29/2006',Nil,Nil);
		AddLink('L1',h1,'',h2,'');
		GroupBars(h1,'',False,h2,'',True,TObject(39),Nil);
		OutputDebugString( 'The distance between A and B is flexible, unlimited' );
		OutputDebugString( 'The B is always after the A' );
	end;
	EndUpdate();
end
1170
How can I group two bars so the interval between them is fixed

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','9/21/2006','9/24/2006','T1','A');
		AddBar(h,'Unknown','9/26/2006','9/29/2006','T2','B');
		AddLink('L',h,'T1',h,'T2');
		Link['L',EXG2ANTTLib.LinkPropertyEnum.exLinkGroupBars] := TObject(27);
		Link['L',EXG2ANTTLib.LinkPropertyEnum.exLinkShowDir] := TObject(False);
		h2 := AddItem('Task 2');
		AddBar(h2,'Unknown','9/26/2006','9/29/2006','T2','B');
		AddLink('L2',h,'T1',h2,'T2');
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkGroupBars] := TObject(27);
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkShowDir] := TObject(False);
		OutputDebugString( 'The distance between bars is constant' );
		OutputDebugString( 'The B is always after the A' );
	end;
	EndUpdate();
end
1169
How can I group two bars when linking, so moving the first bar will makes the second to move accordingly

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','9/21/2006','9/24/2006','','A');
		h2 := AddItem('Task 2');
		AddBar(h2,'Unknown','9/26/2006','9/29/2006','','B');
		AddLink('L1',h1,'',h2,'');
		Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkGroupBars] := TObject(39);
		OutputDebugString( 'The distance between A and B is flexible, unlimited' );
		OutputDebugString( 'The B is always after the A' );
	end;
	EndUpdate();
end
1168
Is it possible to be notified when the user clicks an anchor element a hyperlink in the date-time zone

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TWinForm1.AxG2antt1_AnchorClick(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AnchorClickEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( 'Click: ' );
		OutputDebugString( e.anchorID );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z','1/2/2001','1/5/2001',TObject(15753471),';32;Caption <a1><b>1</b></a>;1;Caption <a2><b>2</b></a>;17;Caption <a3><b>3</b></a>');
	end;
	EndUpdate();
end
1167
Is it possible to be notified when the user clicks a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
procedure TWinForm1.AxG2antt1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		with Chart do
		begin
			OutputDebugString( 'Click: ' );
			OutputDebugString( TimeZoneFromPoint[-1,-1] );
		end;
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z','1/2/2001','1/5/2001',TObject(16711680),';32;DATE-TIME<br>    ZONE');
	end;
	EndUpdate();
end
1166
Is is possible to display multiple captions in the same date-time zone

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z','1/5/2001','1/8/2001',TObject(12895487),';;Caption <b>1</b>;1;Caption <b>2</b>;17;Caption <b>3</b>');
	end;
	EndUpdate();
end
1165
Is is possible to align on the top the caption for the date-time zone

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z','1/5/2001','1/8/2001',TObject(12895487),';;UpperCenter;1');
	end;
	EndUpdate();
end
1164
Is there any option to display a picture on the date-time zone

with AxG2antt1 do
begin
	BeginUpdate();
	set_HTMLPicture('pic1','c:\exontrol\images\card.png');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z','1/5/2001','1/8/2001',TObject(12895487),';;<c><img>pic1</img><br><c>picture');
	end;
	EndUpdate();
end
1163
Is there any option to display a text or a HTML caption on the date-time zone

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		MarkTimeZone('Z1','1/1/2001','1/4/2001',TObject(12895487),';;zone <b>1</b>');
		MarkTimeZone('Z2','1/5/2001','1/8/2001',TObject(12895487),';;zone <b>2</b>');
	end;
	EndUpdate();
end
1162
How can I display the date-time zone using a semi-transparent EBN object

with AxG2antt1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/2/2001','1/3/2001',TObject(16777056),';;Solid');
		MarkTimeZone('Z2','1/7/2001','1/10/2001',TObject(16777216),'50;;EBN');
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1161
How can I display the date-time zone using an EBN or a skin instead a solid color

with AxG2antt1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/2/2001','1/3/2001',TObject(16777056),';;Solid');
		MarkTimeZone('Z2','1/5/2001','1/8/2001',TObject(16777216),';;EBN');
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1160
How can I display the date-time zone using a pattern instead a solid color

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/2/2001','1/3/2001',TObject(16777056),';;Solid');
		MarkTimeZone('Z2','1/6/2001','1/7/2001',TObject(16777056),';12;Pattern');
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1159
How can I display the date-time zone using a transparent color

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/2/2001','1/3/2001',TObject(16777056),';;Opaque');
		MarkTimeZone('Z2','1/6/2001','1/7/2001',TObject(16777056),'50;;Semi-Transparent');
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1158
The date time zone is shown behind the bars, is there any way to show it over

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/28/2000';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exNoCreateBar;
		Bars.Item['Task'].Pattern := EXG2ANTTLib.PatternEnum.exPatternSolid;
		MarkTimeZone('Z1','1/2/2001','1/3/2001',TObject(16777056),Nil);
		MarkTimeZone('Z2','1/6/2001','1/7/2001',TObject(16777056),'1');
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/8/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
	end;
	EndUpdate();
end
1157
How can I get ifnromation about a date-time zone
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		with Chart do
		begin
			OutputDebugString( TimeZoneInfo[TimeZoneFromPoint[-1,-1]] );
		end;
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 18;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2010';
		MarkTimeZone('Z1','1/4/2010','1/8/2010',TObject(16744544),Nil);
		MarkTimeZone('Z2','1/12/2010','1/18/2010',TObject(16761952),Nil);
	end;
end
1156
How can I determine the zone from the cursor
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		with Chart do
		begin
			OutputDebugString( TimeZoneFromPoint[-1,-1] );
		end;
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 18;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2010';
		MarkTimeZone('Z1','1/4/2010','1/8/2010',TObject(16744544),Nil);
		MarkTimeZone('Z2','1/12/2010','1/18/2010',TObject(16761952),Nil);
	end;
end
1155
How can I highlight multiple date-time zones (ranges)

with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 18;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2010';
		MarkTimeZone('Z1','1/4/2010','1/8/2010',TObject(16744544),Nil);
		MarkTimeZone('Z2','1/12/2010','1/18/2010',TObject(16761952),Nil);
	end;
end
1154
How can I highlight a date-time range
with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 18;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2010';
		MarkTimeZone('Z1','1/4/2010','1/8/2010',TObject(16744544),Nil);
	end;
end
1153
How do I get the list of selected date
// ChartEndChanging event - Occurs after the chart has been changed.
procedure TWinForm1.AxG2antt1_ChartEndChanging(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_ChartEndChangingEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( e.operation );
		OutputDebugString( Chart.SelectDates );
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 0;
		MarkTodayColor := BackColor;
	end;
end
1152
Is there any function I can use to find the bars that intersect with the current bar

// BarResizing event - Occurs when a bar is moving or resizing.
procedure TWinForm1.AxG2antt1_BarResizing(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarResizingEvent);
begin
	with AxG2antt1 do
	begin
		with Items do
		begin
			OutputDebugString( e.key );
			OutputDebugString( 'intesect with' );
			OutputDebugString( ItemBar[e.item,TObject(e.key),EXG2ANTTLib.ItemBarPropertyEnum.exBarIntersectWithAsString] );
		end;
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	DefaultItemHeight := 22;
	Columns.Add('Task');
	ScrollBySingleLine := True;
	DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
	with Chart do
	begin
		DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
		PaneWidth[False] := 48;
		FirstVisibleDate := '12/28/2000';
		LevelCount := 2;
		Bars.Item['Task'].OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset;
		ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour;
		AllowCreateBar := EXG2ANTTLib.CreateBarEnum.exCreateBarAuto;
	end;
	with Items do
	begin
		h1 := AddItem('Default');
		AddBar(h1,'Task','1/2/2001','1/4/2001','A1','A1');
		AddBar(h1,'Task','1/3/2001','1/5/2001','A2','A2');
		AddBar(h1,'Task','1/4/2001','1/7/2001','A3','A3');
	end;
	EndUpdate();
end
1151
Is it possible to order the bars on top of other bars

with AxG2antt1 do
begin
	BeginUpdate();
	DefaultItemHeight := 22;
	Columns.Add('Task');
	ScrollBySingleLine := True;
	DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
	with Chart do
	begin
		DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
		PaneWidth[False] := 48;
		FirstVisibleDate := '12/28/2000';
		LevelCount := 2;
		Bars.Copy('Task','NTask').OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset;
	end;
	with Items do
	begin
		h1 := AddItem('Default');
		AddBar(h1,'Task','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h1,'Task','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h1,'Task','1/4/2001','1/7/2001','A3',Nil);
		h2 := AddItem('Overlaid');
		AddBar(h2,'NTask','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h2,'NTask','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h2,'NTask','1/4/2001','1/7/2001','A3',Nil);
		GroupBars(h1,'A1',True,h2,'A1',True,Nil,Nil);
		GroupBars(h1,'A1',False,h2,'A1',False,Nil,Nil);
		GroupBars(h1,'A2',True,h2,'A2',True,Nil,Nil);
		GroupBars(h1,'A2',False,h2,'A2',False,Nil,Nil);
		GroupBars(h1,'A3',True,h2,'A3',True,Nil,Nil);
		GroupBars(h1,'A3',False,h2,'A3',False,Nil,Nil);
	end;
	EndUpdate();
end
1150
Is it possible to order the bars on top of other bars (have different colurs so that they can be seen)

with AxG2antt1 do
begin
	BeginUpdate();
	DefaultItemHeight := 22;
	Columns.Add('Task');
	ScrollBySingleLine := True;
	DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
	with Chart do
	begin
		DrawGridLines := EXG2ANTTLib.GridLinesEnum.exAllLines;
		PaneWidth[False] := 48;
		FirstVisibleDate := '12/28/2000';
		LevelCount := 2;
		Bars.Copy('Task','NTask').OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsStack);
	end;
	with Items do
	begin
		h1 := AddItem('Default');
		AddBar(h1,'Task','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h1,'Task','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h1,'Task','1/4/2001','1/7/2001','A3',Nil);
		h2 := AddItem('Overlaid');
		AddBar(h2,'NTask','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h2,'NTask','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h2,'NTask','1/4/2001','1/7/2001','A3',Nil);
		GroupBars(h1,'A1',True,h2,'A1',True,Nil,Nil);
		GroupBars(h1,'A1',False,h2,'A1',False,Nil,Nil);
		GroupBars(h1,'A2',True,h2,'A2',True,Nil,Nil);
		GroupBars(h1,'A2',False,h2,'A2',False,Nil,Nil);
		GroupBars(h1,'A3',True,h2,'A3',True,Nil,Nil);
		GroupBars(h1,'A3',False,h2,'A3',False,Nil,Nil);
	end;
	EndUpdate();
end
1149
Is it possible to layer bars on top of other bars (have different colurs so that they can be seen)

with AxG2antt1 do
begin
	BeginUpdate();
	DefaultItemHeight := 22;
	Columns.Add('Task');
	with Chart do
	begin
		PaneWidth[False] := 48;
		FirstVisibleDate := '12/28/2000';
		LevelCount := 2;
		Bars.Copy('Task','NTask').OverlaidType := EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset;
	end;
	with Items do
	begin
		h1 := AddItem('Default');
		AddBar(h1,'Task','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h1,'Task','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h1,'Task','1/4/2001','1/7/2001','A3',Nil);
		h2 := AddItem('Overlaid');
		AddBar(h2,'NTask','1/2/2001','1/4/2001','A1',Nil);
		AddBar(h2,'NTask','1/3/2001','1/5/2001','A2',Nil);
		AddBar(h2,'NTask','1/4/2001','1/7/2001','A3',Nil);
		GroupBars(h1,'A1',True,h2,'A1',True,Nil,Nil);
		GroupBars(h1,'A1',False,h2,'A1',False,Nil,Nil);
		GroupBars(h1,'A2',True,h2,'A2',True,Nil,Nil);
		GroupBars(h1,'A2',False,h2,'A2',False,Nil,Nil);
		GroupBars(h1,'A3',True,h2,'A3',True,Nil,Nil);
		GroupBars(h1,'A3',False,h2,'A3',False,Nil,Nil);
	end;
	EndUpdate();
end
1148
My skin(EBN) bars are not shown a different color in the overview. What can I do

with AxG2antt1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Chart do
	begin
		Bars.Item['Task'].Color := $1000000;
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		FirstVisibleDate := '1/11/2001';
		LevelCount := 2;
	end;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/4/2001',TObject(1),Nil);
		AddBar(h,'Task','2/2/2001','2/4/2001',TObject(2),Nil);
		ItemBar[h,TObject(2),EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(16776960);
		h := AddItem('Task 2');
		AddBar(h,'Task','2/2/2001','2/4/2001','',Nil);
		ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255);
	end;
	EndUpdate();
end
1147
How do I colour the lines in the overview section to match the bars they represent on the main chart

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		FirstVisibleDate := '1/1/2001';
		LevelCount := 2;
	end;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/4/2001',TObject(1),Nil);
		AddBar(h,'Task','2/2/2001','2/4/2001',TObject(2),Nil);
		h := AddItem('Task 2');
		AddBar(h,'Task','2/2/2001','2/4/2001','',Nil);
		ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarColor] := TObject(255);
	end;
	EndUpdate();
end
1146
How do I catch the delete key (down) on a bar
// KeyDown event - Occurs when the user presses a key while an object has the focus.
procedure TWinForm1.AxG2antt1_KeyDownEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_KeyDownEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( e.keyCode );
		OutputDebugString( e.shift );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/27/2000';
		LevelCount := 2;
		PaneWidth[False] := 48;
		with Bars.Item['Task'] do
		begin
			Pattern := EXG2ANTTLib.PatternEnum.exPatternBox;
			Height := 13;
		end;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K1','This is a bit of text that is not clipped');
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K1','This is a bit of text that get''s clipped');
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(3);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarToolTip] := ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption];
	end;
	EndUpdate();
end
1145
Is it possible to colour a particular column, I mean the cell's foreground color
with AxG2antt1 do
begin
	BeginUpdate();
	with ConditionalFormats.Add('1',Nil) do
	begin
		ForeColor := $ff;
		ApplyTo := EXG2ANTTLib.FormatApplyToEnum($1);
	end;
	MarkSearchColumn := False;
	with Columns do
	begin
		Add('Column 1');
		Add('Column 2');
	end;
	with Items do
	begin
		CellValue[TObject(AddItem(TObject(0))),TObject(1)] := TObject(1);
		CellValue[TObject(AddItem(TObject(2))),TObject(1)] := TObject(3);
		CellValue[TObject(AddItem(TObject(4))),TObject(1)] := TObject(5);
	end;
	EndUpdate();
end
1144
Is it possible to colour a particular column for specified values
with AxG2antt1 do
begin
	BeginUpdate();
	with ConditionalFormats.Add('int(%1) in (3,4,5)',Nil) do
	begin
		BackColor := $ff;
		ApplyTo := EXG2ANTTLib.FormatApplyToEnum($1);
	end;
	MarkSearchColumn := False;
	with Columns do
	begin
		Add('Column 1');
		Add('Column 2');
	end;
	with Items do
	begin
		CellValue[TObject(AddItem(TObject(0))),TObject(1)] := TObject(1);
		CellValue[TObject(AddItem(TObject(2))),TObject(1)] := TObject(3);
		CellValue[TObject(AddItem(TObject(4))),TObject(1)] := TObject(5);
	end;
	EndUpdate();
end
1143
Is it possible to colour a particular column
with AxG2antt1 do
begin
	BeginUpdate();
	MarkSearchColumn := False;
	with Columns do
	begin
		Add('Column 1');
		(Add('Column 2') as EXG2ANTTLib.Column).Def[EXG2ANTTLib.DefColumnEnum.exCellBackColor] := TObject(255);
	end;
	with Items do
	begin
		CellValue[TObject(AddItem(TObject(0))),TObject(1)] := TObject(1);
		CellValue[TObject(AddItem(TObject(2))),TObject(1)] := TObject(3);
		CellValue[TObject(AddItem(TObject(4))),TObject(1)] := TObject(5);
	end;
	EndUpdate();
end
1142
How do i get all the children items that are under a certain parent Item handle
with AxG2antt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
	Columns.Add('P');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Nil,'Child 1');
		InsertItem(h,Nil,'Child 2');
		ExpandItem[h] := True;
	end;
	with Items do
	begin
		hChild := ItemChild[FirstVisibleItem];
		OutputDebugString( CellValue[TObject(hChild),TObject(0)] );
		OutputDebugString( CellValue[TObject(NextSiblingItem[hChild]),TObject(0)] );
	end;
	EndUpdate();
end
1141
How can I access the control's scroll bar so I can change its appearance
with AxG2antt1 do
begin
	BeginUpdate();
	Chart.PaneWidth[False] := 0;
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	set_Background(EXG2ANTTLib.BackgroundPartEnum.exHSThumb,$1000000);
	EndUpdate();
end
1140
How can I show my bars using the parts of the current theme
with AxG2antt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'XP:Button 1 1');
		Add(2,'XP:Button 1 2');
		Add(3,'XP:ScrollBar 3 1');
		Add(4,'XP:ScrollBar 3 2');
	end;
	with Chart do
	begin
		PaneWidth[False] := 48;
		FirstVisibleDate := '1/1/2001';
		with Bars do
		begin
			Add('B1').Color := $1000000;
			Add('B2').Color := $2000000;
			Add('S1').Color := $3000000;
			Add('S2').Color := $4000000;
		end;
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Button1'),'B1','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Button 2'),'B2','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Scrollbar 1'),'S1','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Scrollbar 2'),'S2','1/2/2001','1/4/2001',Nil,Nil);
	end;
	EndUpdate();
end
1139
How do I hide the text on a bar if the text is to big for the bar length

with AxG2antt1 do
begin
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/27/2000';
		LevelCount := 2;
		PaneWidth[False] := 48;
		with Bars.Item['Task'] do
		begin
			Pattern := EXG2ANTTLib.PatternEnum.exPatternBox;
			Height := 13;
		end;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K1','This is a bit of text that is not clipped');
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K1','This is a bit of text that get''s clipped');
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(3);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarToolTip] := ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption];
	end;
end
1138
Is it possible to change the color for non-working parts of the bar

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		LevelCount := 2;
		PaneWidth[False] := 48;
		FirstVisibleDate := '1/1/2001';
		Bars.Add('Task:Split').Shortcut := 'Task';
		NonworkingDaysColor := $f0faf0;
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','1/2/2001','1/16/2001',Nil,Nil);
		h := AddItem('Task 2');
		AddBar(h,'Task','1/2/2001','1/16/2001','',Nil);
		ItemBar[h,'',EXG2ANTTLib.ItemBarPropertyEnum.exBarNonWorkingColor] := TObject(65280);
	end;
	EndUpdate();
end
1137
Is it possible to change the color for the percent bar being displayed inside a specified bar only

with AxG2antt1 do
begin
	Columns.Add('Task');
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.Bars.Add('Task%Progress');
	Chart.PaneWidth[False] := 48;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task%Progress','1/2/2001','1/6/2001','K1',Nil);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent] := TObject(0.4);
		h := AddItem('Task 2');
		AddBar(h,'Task%Progress','1/2/2001','1/6/2001','K1',Nil);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarPercent] := TObject(0.5);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarPercentColor] := TObject(255);
	end;
end
1136
How do I get a handle on the item before adding the bar
with AxG2antt1 do
begin
	BeginUpdate();
	MarkSearchColumn := False;
	OnResizeControl := EXG2ANTTLib.OnResizeControlEnum.exResizeChart;
	Columns.Add('Tasks');
	(Columns.Add('Start') as EXG2ANTTLib.Column).Visible := False;
	(Columns.Add('End') as EXG2ANTTLib.Column).Visible := False;
	with Chart do
	begin
		FirstVisibleDate := '9/20/2006';
		PaneWidth[False] := 64;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 0');
		CellValue[TObject(h1),TObject(1)] := '9/21/2006';
		CellValue[TObject(h1),TObject(2)] := '9/24/2006';
		AddBar(h1,'Task',CellValue[TObject(h1),TObject(1)],CellValue[TObject(h1),TObject(2)],Nil,Nil);
		h2 := InsertItem(h,Nil,'Task 1');
		CellValue[TObject(h2),TObject(1)] := '9/25/2006';
		CellValue[TObject(h2),TObject(2)] := '9/28/2006';
		AddBar(h2,'Task',CellValue[TObject(h2),TObject(1)],CellValue[TObject(h2),TObject(2)],Nil,Nil);
		h3 := InsertItem(h,Nil,'Task 2');
		CellValue[TObject(h3),TObject(1)] := '9/29/2006';
		CellValue[TObject(h3),TObject(2)] := '10/2/2006';
		AddBar(h3,'Task',CellValue[TObject(h3),TObject(1)],CellValue[TObject(h3),TObject(2)],Nil,Nil);
		AddItem(TObject(ItemCount));
	end;
	EndUpdate();
end
1135
Is there an Items method that I can use to loop around to compare the item's user data against
with AxG2antt1 do
begin
	Columns.Add('Default');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Nil,'Child 1');
		ItemData[InsertItem(h,Nil,'Child 2')] := TObject(1234);
		ExpandItem[h] := True;
		ItemBold[FindItemData[TObject(1234),Nil]] := True;
	end;
end
1134
How do I make the tooltip box wider to allow for longer text

with AxG2antt1 do
begin
	ToolTipWidth := 328;
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/4/2001','K1',Nil);
		ItemBar[h,'K1',EXG2ANTTLib.ItemBarPropertyEnum.exBarToolTip] := 'This is a bit of text that''s displayed when the cursor hovers the bar';
	end;
end
1133
How do i set the default timeslots to say hours or minutes

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		LevelCount := 2;
		AllowOverviewZoom := EXG2ANTTLib.OverviewZoomEnum.exAlwaysZoom;
		OverviewZoomUnit := 24;
		OverviewZoomCaption := 'Y|½Y|¼Y|Mo|T|W|D|H|Mi|S';
		UnitScale := EXG2ANTTLib.UnitEnum.exMinute;
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 2'),'Task','1/16/2001','1/25/2001',Nil,Nil);
		AddBar(AddItem('Item 3'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 4'),'Task','2/16/2001','2/25/2001',Nil,Nil);
	end;
	EndUpdate();
end
1132
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

with AxG2antt1 do
begin
	BeginUpdate();
	set_HTMLPicture('pic1','c:\exontrol\images\zipdisk.gif');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		LevelCount := 2;
		AllowOverviewZoom := EXG2ANTTLib.OverviewZoomEnum.exAlwaysZoom;
		OverviewZoomUnit := 24;
		OverviewHeight := 58;
		OverviewZoomCaption := 'Y<br>e<br>a<br>r|½Y|¼Y|M<br>o<br>n<br>t<br>h|T|W<br>e<br>e<br>w|<img>pic1:28<img>|H<br>o<br>u<br>r|M<br>i<br>n|S<br>e<br>c';
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 2'),'Task','1/16/2001','1/25/2001',Nil,Nil);
		AddBar(AddItem('Item 3'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 4'),'Task','2/16/2001','2/25/2001',Nil,Nil);
	end;
	EndUpdate();
end
1131
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

with AxG2antt1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		LevelCount := 2;
		AllowOverviewZoom := EXG2ANTTLib.OverviewZoomEnum.exAlwaysZoom;
		OverviewZoomUnit := 24;
		OverviewZoomCaption := 'Y|½Y|¼Y|<img>2<img>|T|W|<img>1<img>|H|M|S';
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 2'),'Task','1/16/2001','1/25/2001',Nil,Nil);
		AddBar(AddItem('Item 3'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 4'),'Task','2/16/2001','2/25/2001',Nil,Nil);
	end;
	EndUpdate();
end
1130
How do I change (for localisation) the text in the buttons like (Sec., Min., Hour, Month...)
with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		LevelCount := 2;
		AllowOverviewZoom := EXG2ANTTLib.OverviewZoomEnum.exAlwaysZoom;
		OverviewZoomUnit := 24;
		OverviewZoomCaption := 'Y|½Y|¼Y|Mo|T|W|D|H|Mi|S';
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 2'),'Task','1/16/2001','1/25/2001',Nil,Nil);
		AddBar(AddItem('Item 3'),'Task','1/2/2001','1/4/2001',Nil,Nil);
		AddBar(AddItem('Item 4'),'Task','2/16/2001','2/25/2001',Nil,Nil);
	end;
	EndUpdate();
end
1129
How I can change the Months and Weekdays

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 0;
		FirstVisibleDate := '2/1/2010';
		LevelCount := 2;
		UnitWidth := 10;
		MonthNames := '1 2 3 4 5 6 7 8 9 10 11 12';
		WeekDays := 'A B C D E F G';
		with Level[0] do
		begin
			Label := '<%mmmm%>';
			Unit := EXG2ANTTLib.UnitEnum.exMonth;
		end;
		with Level[1] do
		begin
			Label := '<font ;6><%ddd%>';
			Unit := EXG2ANTTLib.UnitEnum.exDay;
		end;
	end;
	EndUpdate();
end
1128
How do i get the current window time frame (the start and end) of the gantt chart
// DateChange event - Occurs when the first visible date is changed.
procedure TWinForm1.AxG2antt1_DateChange(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		with Chart do
		begin
			OutputDebugString( 'Start' );
			OutputDebugString( FirstVisibleDate );
			OutputDebugString( '' );
			OutputDebugString( 'End' );
			OutputDebugString( DateFromPoint[PaneWidth[True],0] );
		end;
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 1;
		LevelCount := 2;
		ScrollTo('1/1/2010',TObject(0));
	end;
	EndUpdate();
end
1127
When I use this Chart.get_DateFromPoint(exg2antt1.Width, 0) I get date as 0, 30/12/1899, or 12:00:00 AM. What that means
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.DateFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 48;
		LevelCount := 2;
	end;
end
1126
How do I enable grabing bars to other items/rows (and only enable them to be dropped on certain rows)
// BarParentChange event - Occurs just before moving a bar from current item to another item.
procedure TWinForm1.AxG2antt1_BarParentChange(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarParentChangeEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Items.CellCaption[TObject(e.newItem),TObject(0)] );
		e.cancel := Items.ItemData[e.newItem];
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		Bars.Item['Task'].OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsTransparent) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset);
	end;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Item 1');
		EnableItem[h] := False;
		ItemData[h] := TObject(-1);
		h := AddItem('Item 2');
		ItemData[h] := TObject(0);
		AddBar(h,'Task','1/5/2001','1/7/2001','B',Nil);
		ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMoveToAnother] := TObject(True);
		ItemData[AddItem('Item 3')] := TObject(0);
		h := AddItem('Item 4');
		EnableItem[h] := False;
		ItemData[h] := TObject(-1);
	end;
	EndUpdate();
end
1125
How can I find out if a date time is a non-working part
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		h := get_ItemFromPoint(-1,-1,c,hit);
		d := Chart.DateFromPoint[-1,-1];
		OutputDebugString( d );
		OutputDebugString( Chart.IsNonworkingDate[TObject(d),TObject(h)] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('NonWorking');
	with Chart do
	begin
		FirstWeekDay := EXG2ANTTLib.WeekDayEnum.exMonday;
		FirstVisibleDate := '1/24/2008';
		PaneWidth[False] := 64;
		LevelCount := 2;
	end;
	with Items do
	begin
		h := AddItem('Default');
		h := AddItem('January');
		ItemNonworkingUnits[h,TObject(False)] := 'month(value) = 1';
		h := AddItem('February, Saturday, Sunday');
		ItemNonworkingUnits[h,TObject(False)] := 'month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)';
		h := AddItem('Sunday');
		ItemNonworkingUnits[h,TObject(False)] := 'weekday(value) = 0';
	end;
	EndUpdate();
end
1124
I am using the ItemBar property exBarCanMoveToAnother, How do I stop it from being dropped on certain chart rows
// BarParentChange event - Occurs just before moving a bar from current item to another item.
procedure TWinForm1.AxG2antt1_BarParentChange(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_BarParentChangeEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Items.CellCaption[TObject(e.newItem),TObject(0)] );
		e.cancel := Items.ItemData[e.newItem];
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
		AllowLinkBars := False;
		Bars.Item['Task'].OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsTransparent) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset);
	end;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Item 1');
		EnableItem[h] := False;
		ItemData[h] := TObject(-1);
		h := AddItem('Item 2');
		ItemData[h] := TObject(0);
		AddBar(h,'Task','1/5/2001','1/7/2001','B',Nil);
		ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMoveToAnother] := TObject(True);
		ItemData[AddItem('Item 3')] := TObject(0);
		ItemData[AddItem('Item 4')] := TObject(0);
	end;
	EndUpdate();
end
1123
What is the event I should use to capture the click event on the task item on left hand side
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
procedure TWinForm1.AxG2antt1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		h := get_ItemFromPoint(-1,-1,c,hit);
		OutputDebugString( Items.CellCaption[TObject(h),TObject(c)] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
	Columns.Add('Items');
	with Items do
	begin
		h := AddItem('R1');
		InsertItem(h,Nil,'Cell 1.1');
		InsertItem(h,Nil,'Cell 1.2');
		ExpandItem[h] := True;
		h := AddItem('R2');
		InsertItem(h,Nil,'Cell 2.1');
		InsertItem(h,Nil,'Cell 2.2');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1122
Can I add a hyperlink assigned to a bar

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TWinForm1.AxG2antt1_AnchorClick(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AnchorClickEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( e.anchorID );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'default';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 2');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<a1><b>A 1</b></a>';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 3');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<a2><b>A 2</b></a>';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
	end;
	EndUpdate();
end
1121
Can I change the background color only for the text (caption) in a bar

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'default';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 2');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'using <bgcolor=FF0000>bgcolor</bgcolor> HTML attribute ';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
	end;
	EndUpdate();
end
1120
Can I change the font to display the text (caption) in a bar

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'default';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 2');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<font Segoe UI;8 >using font HTML attribute </fgcolor>';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
	end;
	EndUpdate();
end
1119
How do i change the forecolor of text (caption) in a bar

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		h := AddItem('Task 1');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'default';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 2');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := '<fgcolor=FF0000>using fgcolor HTML attribute </fgcolor>';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		h := AddItem('Task 3');
		AddBar(h,'Task','1/2/2001','1/6/2001','K',Nil);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarCaption] := 'using exBarForeColor';
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarHAlignCaption] := TObject(18);
		ItemBar[h,'K',EXG2ANTTLib.ItemBarPropertyEnum.exBarForeColor] := TObject(65280);
	end;
	EndUpdate();
end
1118
I have noticed that when scrolling horizontally the chart a tooltip shown. is it possible to actually do the scrolling without showing the tooltip
with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '6/20/2005';
		AllowLinkBars := True;
		LevelCount := 2;
		PaneWidth[False] := 48;
		ToolTip := '';
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','6/21/2005','6/25/2005','A',Nil);
		AddBar(AddItem('Task 2'),'Task','6/28/2005','7/2/2005','B',Nil);
	end;
	EndUpdate();
end
1117
How can I add a bar to be treated as a nonworking part like a "holidays" bar

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		LevelCount := 2;
		PaneWidth[False] := 48;
		AllowNonworkingBars := True;
		Bars.Add('Task:Split').Shortcut := 'Task';
	end;
	Columns.Add('Tasks');
	with Items do
	begin
		h := AddItem('Task 1');
		ItemNonworkingUnits[h,TObject(False)] := 'weekday(value) in (0,6)';
		AddBar(h,'','1/2/2001','1/5/2001','A','holyday');
		ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking] := TObject(True);
		AddBar(h,'Task','1/5/2001','1/12/2001','Z',Nil);
		ItemBar[h,'Z',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True);
	end;
	EndUpdate();
end
1116
Is it possible to add bars that act like a non-working fixed part or the item

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		LevelCount := 2;
		PaneWidth[False] := 48;
		AllowNonworkingBars := True;
	end;
	Columns.Add('Tasks');
	with Items do
	begin
		h := AddItem('Task 1');
		ItemNonworkingUnits[h,TObject(False)] := 'weekday(value) in (0,6)';
		AddBar(h,'','1/3/2001','1/6/2001','h','holyday');
		ItemBar[h,'h',EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking] := TObject(True);
		ItemBar[h,'h',EXG2ANTTLib.ItemBarPropertyEnum.exBarSelectable] := TObject(False);
	end;
	EndUpdate();
end
1115
Is it possible to add bars that act like a non-working part or the item

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		FirstVisibleDate := '1/1/2001';
		LevelCount := 2;
		PaneWidth[False] := 48;
		AllowNonworkingBars := True;
	end;
	Columns.Add('Tasks');
	with Items do
	begin
		h := AddItem('Task 1');
		ItemNonworkingUnits[h,TObject(False)] := 'weekday(value) in (0,6)';
		AddBar(h,'','1/3/2001','1/6/2001','h','holyday');
		ItemBar[h,'h',EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking] := TObject(True);
	end;
	EndUpdate();
end
1114
How can I change the both dates for the bar at once
with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		PaneWidth[False] := 64;
		FirstVisibleDate := '6/21/2005';
		ShowEmptyBars := 1;
	end;
	with Items do
	begin
		h := AddItem('Test');
		AddBar(h,'Task','6/22/2005','6/26/2005','',Nil);
		AddBar(h,'Task','6/27/2005','6/29/2005',Nil,Nil);
	end;
	EndUpdate();
end
1113
How can I get the selected bars in the chart

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
procedure TWinForm1.AxG2antt1_ChartSelectionChanged(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Items.SelectedObjects[EXG2ANTTLib.SelectObjectsEnum.exSelectBarsOnly] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '6/20/2005';
		AllowLinkBars := True;
		LevelCount := 2;
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','6/21/2005','6/25/2005','A',Nil);
		AddBar(AddItem('Task 2'),'Task','6/28/2005','7/2/2005','B',Nil);
		ItemBar[FirstVisibleItem,FirstItemBar[FirstVisibleItem],EXG2ANTTLib.ItemBarPropertyEnum.exBarSelected] := TObject(True);
	end;
	EndUpdate();
end
1112
How can I list the actions that can be performed by undo operations
// ChartEndChanging event - Occurs after the chart has been changed.
procedure TWinForm1.AxG2antt1_ChartEndChanging(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_ChartEndChangingEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.UndoListAction[Nil,Nil] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Chart.FirstVisibleDate := '1/1/2001';
	Chart.AllowLinkBars := False;
	Chart.Bars.Item['Task'].OverlaidType := Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsTransparent) Or Integer(EXG2ANTTLib.OverlaidBarsTypeEnum.exOverlaidBarsOffset);
	Chart.AllowUndoRedo := True;
	Chart.PaneWidth[False] := 32;
	Chart.Bars.Add('Task:Split').Shortcut := 'Task';
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Item 1'),'Task','1/2/2001','1/4/2001','A',Nil);
		h := AddItem('Item 2');
		AddBar(h,'Task','1/5/2001','1/9/2001','B',Nil);
		ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarCanMoveToAnother] := TObject(True);
		ItemBar[h,'B',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True);
		ItemNonworkingUnits[AddItem('Item 3'),TObject(False)] := 'weekday(value)=0';
		ItemNonworkingUnits[AddItem('Item 4'),TObject(False)] := 'weekday(value) in (3,5)';
	end;
	EndUpdate();
end
1111
How can I change the predefined labels being displayed in the chart's header so it shows the data in short format with no literals

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 0;
		AllowOverviewZoom := EXG2ANTTLib.OverviewZoomEnum.exAlwaysZoom;
		OverviewVisible := EXG2ANTTLib.OverviewVisibleEnum.exOverviewShowAllVisible;
		LevelCount := 3;
		Label[EXG2ANTTLib.UnitEnum.exYear] := '<%yy%><|><%yyyy%>';
		Label[EXG2ANTTLib.UnitEnum.exHalfYear] := '';
		Label[EXG2ANTTLib.UnitEnum.exQuarterYear] := '';
		Label[EXG2ANTTLib.UnitEnum.exMonth] := '<|><%m%><|><%m%>/<%yy%><|><%m%>/<%yyyy%>';
		Label[EXG2ANTTLib.UnitEnum.exThirdMonth] := '';
		Label[EXG2ANTTLib.UnitEnum.exWeek] := '<|><%ww%><|><%m%>/<%d%>/<%yy%><r><%ww%><|><%m%>/<%d%>/<%yyyy%><r><%ww%><||><||>256';
		Label[EXG2ANTTLib.UnitEnum.exDay] := '<|><%d%><|><%m%>/<%d%>/<%yy%><|><%m%>/<%d%>/<%yyyy%><||><||>4096';
		Label[EXG2ANTTLib.UnitEnum.exHour] := '<|><%hh%><|><%m%>/<%d%>/<%yy%> <%h%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%><||><||>65536';
		Label[EXG2ANTTLib.UnitEnum.exMinute] := '<|><%nn%><|><%h%>:<%nn% <%AM/PM%>><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>';
		Label[EXG2ANTTLib.UnitEnum.exSecond] := '<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yyy' + 
	'y%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exYear] := '<%yyyy%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exHalfYear] := '';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exQuarterYear] := '';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exMonth] := '<%m%>/<%yyyy%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exThirdMonth] := '';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exWeek] := '<%m%>/<%d%>/<%yyyy%> <%ww%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exDay] := '<%m%>/<%d%>/<%yyyy%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exHour] := '<%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exMinute] := '<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>';
		LabelToolTip[EXG2ANTTLib.UnitEnum.exSecond] := '<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>';
		UnitScale := EXG2ANTTLib.UnitEnum.exDay;
	end;
	EndUpdate();
end
1110
The histogram does not show (correctly) the bars, even if I changed the Bar.HistogramPattern and Bar.HistogramColor properties. What can be wrong

with AxG2antt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 48;
		FirstVisibleDate := '12/27/2000';
		HistogramVisible := True;
		HistogramHeight := 32;
		with Bars.Item['Task'] do
		begin
			HistogramPattern := EXG2ANTTLib.PatternEnum.exPatternBDiagonal;
			HistogramColor := $ff;
		end;
		ResizeUnitScale := EXG2ANTTLib.UnitEnum.exHour;
	end;
	Columns.Add('Column');
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','1/2/2001 8:00:00 AM','1/2/2001 12:00:00 PM',Nil,Nil);
		AddBar(AddItem('Task 2'),'Task','1/1/2001 8:00:00 AM','1/5/2001 12:00:00 PM',Nil,Nil);
	end;
	EndUpdate();
end
1109
How can I change the default key for the newly added link from "Link1" to my identifier
// AddLink event - Occurs when the user links two bars using the mouse.
procedure TWinForm1.AxG2antt1_AddLink(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AddLinkEvent);
begin
	with AxG2antt1 do
	begin
		with Items do
		begin
			AddLink('newIDlink',Link[TObject(e.linkKey),EXG2ANTTLib.LinkPropertyEnum.exLinkStartItem],Link[TObject(e.linkKey),EXG2ANTTLib.LinkPropertyEnum.exLinkStartBar],Link[TObject(e.linkKey),EXG2ANTTLib.LinkPropertyEnum.exLinkEndItem],Link[TObject(e.linkKey),EXG2ANTTLib.LinkPropertyEnum.exLinkEndBar]);
			RemoveLink(TObject(e.linkKey));
		end;
	end
end;

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.LinkFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '6/20/2005';
		AllowLinkBars := True;
		LevelCount := 2;
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','6/21/2005','6/25/2005','',Nil);
		AddBar(AddItem('Task 2'),'Task','6/28/2005','7/2/2005','',Nil);
	end;
	EndUpdate();
end
1108
How can I change the default key for the newly added link from "Link1" to my identifier
// AllowLink event - Notifies at runtime when a link between two bars is possible.
procedure TWinForm1.AxG2antt1_AllowLink(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_AllowLinkEvent);
begin
	with AxG2antt1 do
	begin
		e.linkKey := 'newIDlink';
	end
end;

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.LinkFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Tasks');
	with Chart do
	begin
		FirstVisibleDate := '6/20/2005';
		AllowLinkBars := True;
		LevelCount := 2;
		PaneWidth[False] := 48;
	end;
	with Items do
	begin
		AddBar(AddItem('Task 1'),'Task','6/21/2005','6/25/2005','',Nil);
		AddBar(AddItem('Task 2'),'Task','6/28/2005','7/2/2005','',Nil);
	end;
	EndUpdate();
end
1107
We want to have a Task ID column as the first column that shows the row number. How can we do that
// FormatColumn event - Fired when a cell requires to format its caption.
procedure TWinForm1.AxG2antt1_FormatColumn(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_FormatColumnEvent);
begin
	with AxG2antt1 do
	begin
		e.value := Items.ItemPosition[e.item];
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with (Columns.Add('Pos') as EXG2ANTTLib.Column) do
	begin
		Width := 24;
		AllowSizing := False;
		Position := 0;
		FireFormatColumn := True;
	end;
	with Items do
	begin
		AddItem('Task A');
		AddItem('Task B');
		AddItem('Task C');
		AddItem('Task D');
	end;
	EndUpdate();
end
1106
How can I get the caption of focused item
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxG2antt1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		with Items do
		begin
			OutputDebugString( 'Handle' );
			OutputDebugString( FocusItem );
			OutputDebugString( 'Caption' );
			OutputDebugString( CellCaption[TObject(FocusItem),TObject(0)] );
		end;
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
	Columns.Add('Items');
	with Items do
	begin
		h := AddItem('R1');
		InsertItem(h,Nil,'Cell 1.1');
		InsertItem(h,Nil,'Cell 1.2');
		ExpandItem[h] := True;
		h := AddItem('R2');
		InsertItem(h,Nil,'Cell 2.1');
		InsertItem(h,Nil,'Cell 2.2');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1105
How can I get the caption of selected item
// SelectionChanged event - Fired after a new item has been selected.
procedure TWinForm1.AxG2antt1_SelectionChanged(sender: System.Object; e: System.EventArgs);
begin
	with AxG2antt1 do
	begin
		with Items do
		begin
			OutputDebugString( 'Handle' );
			OutputDebugString( SelectedItem[0] );
			OutputDebugString( 'Caption' );
			OutputDebugString( CellCaption[TObject(SelectedItem[0]),TObject(0)] );
		end;
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXG2ANTTLib.LinesAtRootEnum.exLinesAtRoot;
	Columns.Add('Items');
	with Items do
	begin
		h := AddItem('R1');
		InsertItem(h,Nil,'Cell 1.1');
		InsertItem(h,Nil,'Cell 1.2');
		ExpandItem[h] := True;
		h := AddItem('R2');
		InsertItem(h,Nil,'Cell 2.1');
		InsertItem(h,Nil,'Cell 2.2');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
1104
How can I get the link from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.LinkFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/29/2000';
		PaneWidth[False] := 64;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/5/2001','1/7/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
		Link['L1',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L1';
		h3 := AddItem('Task 3');
		AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil);
		AddLink('L2',h2,'K2',h3,'K3');
		Link['L2',EXG2ANTTLib.LinkPropertyEnum.exLinkText] := 'L2';
	end;
	EndUpdate();
end
1103
How can I get the bar from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.BarFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	BeginUpdate();
	Columns.Add('Task');
	with Chart do
	begin
		FirstVisibleDate := '12/29/2000';
		PaneWidth[False] := 64;
		LevelCount := 2;
	end;
	with Items do
	begin
		h1 := AddItem('Task 1');
		AddBar(h1,'Task','1/2/2001','1/4/2001','K1',Nil);
		h2 := AddItem('Task 2');
		AddBar(h2,'Task','1/4/2001','1/6/2001','K2',Nil);
		AddLink('L1',h1,'K1',h2,'K2');
		h3 := AddItem('Task 3');
		AddBar(h3,'Task','1/8/2001','1/10/2001','K3',Nil);
		AddLink('L2',h2,'K2',h3,'K3');
	end;
	EndUpdate();
end
1102
How can I get the level from the cursor

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.LevelFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		FirstVisibleDate := '6/25/2010';
		PaneWidth[False] := 0;
		LevelCount := 4;
	end;
end
1101
How can I get the date from the cursor

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxG2antt1_MouseMoveEvent(sender: System.Object; e: AxEXG2ANTTLib._IG2anttEvents_MouseMoveEvent);
begin
	with AxG2antt1 do
	begin
		OutputDebugString( Chart.DateFromPoint[-1,-1] );
	end
end;

with AxG2antt1 do
begin
	with Chart do
	begin
		PaneWidth[False] := 0;
		LevelCount := 2;
	end;
end